package com.wzdigit.wms.hm.domain;

import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.wzdigit.framework.orm.model.BasicDomain;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;


/**
 * @author Any
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("WMS_INV_LOC")
@KeySequence(value = "WMS_INV_LOC_SEQ", clazz = Integer.class)
public class InvLoc extends BasicDomain {
    /**
     *
     */
    private static final long serialVersionUID = -5623183955172422890L;
    /**
     * 库位库存ID
     */
    @ApiModelProperty(value = "库位库存ID")
    @TableId(value = "INV_LOC_ID") // type = IdType.INPUT
    private Integer invLocId;
    /**
     * 库存地点
     */
    @ApiModelProperty(value = "库存地点")
    @TableField(value = "LOC_ID")
    private Integer locId;
    /**
     * 库存地点
     */
    @ApiModelProperty(value = "库存地点")
    @TableField(value = "WHS_ID")
    private Integer whsId;
    /**
     * 货主，客户主数据中 客户类型=货主，取客户ID
     */
    @ApiModelProperty(value = "货主，客户主数据中 客户类型=货主，取客户ID")
    @TableField(value = "OWNER")
    private Integer owner;
    /**
     * 货品
     */
    @ApiModelProperty(value = "货品")
    @TableField(value = "SKU_ID")
    private Integer skuId;
    /**
     * 工厂代码
     */
    @ApiModelProperty(value = "工厂代码")
    @TableField(value = "FACTORY")
    private String factory;
    /**
     * 供应商IKEY
     */
    @ApiModelProperty(value = "供应商IKEY")
    @TableField(value = "VENDOR_ID")
    private Integer vendorId;
    /**
     * 批次号
     */
    @ApiModelProperty(value = "批次号")
    @TableField(value = "LOTNO")
    private String lotno;
    /**
     * 库存性质(特殊采购性质)，K为寄售 ,E为销售订单,空白为标准转换为S
     */
    @ApiModelProperty(value = "库存性质(特殊采购性质)，K为寄售 ,E为销售订单,空白为标准转换为S")
    @TableField(value = "INV_ATTR")
    private String invAttr;
    /**
     * 品质状态
     */
    @ApiModelProperty(value = "品质状态")
    @TableField(value = "QA_STATUS")
    private Integer qaStatus;
    /**
     * 数量
     */
    @ApiModelProperty(value = "数量")
    @TableField(value = "QTY")
    private BigDecimal qty = BigDecimal.ZERO;
    /**
     * 单位
     */
    @ApiModelProperty(value = "单位")
    @TableField(value = "UNIT")
    private String unit;
    /**
     * 预收数量
     */
    @ApiModelProperty(value = "预收数量")
    @TableField(value = "PRE_IN_QTY")
    private BigDecimal preInQty = BigDecimal.ZERO;
    /**
     * 预支数量
     */
    @ApiModelProperty(value = "预支数量")
    @TableField(value = "PRE_OUT_QTY")
    private BigDecimal preOutQty = BigDecimal.ZERO;
    /**
     * 冻结数量
     */
    @ApiModelProperty(value = "冻结数量")
    @TableField(value = "HOLD_QTY")
    private BigDecimal holdQty = BigDecimal.ZERO;
    /**
     * 预配数量
     */
    @ApiModelProperty(value = "预配数量")
    @TableField(value = "PRE_ALOC_QTY")
    private BigDecimal preAlocQty = BigDecimal.ZERO;
    /**
     * 分配数量
     */
    @ApiModelProperty(value = "分配数量")
    @TableField(value = "ALOC_QTY")
    private BigDecimal alocQty = BigDecimal.ZERO;
    /**
     * 用户自定义字段1
     */
    @ApiModelProperty(value = "用户自定义字段1")
    @TableField(value = "UDF1")
    private String udf1;
    /**
     * 用户自定义字段2
     */
    @ApiModelProperty(value = "用户自定义字段2")
    @TableField(value = "UDF2")
    private String udf2;
    /**
     * 用户自定义字段3
     */
    @ApiModelProperty(value = "用户自定义字段3")
    @TableField(value = "UDF3")
    private String udf3;
    /**
     * 用户自定义字段4
     */
    @ApiModelProperty(value = "用户自定义字段4")
    @TableField(value = "UDF4")
    private String udf4;
    /**
     * 用户自定义字段5
     */
    @ApiModelProperty(value = "用户自定义字段5")
    @TableField(value = "UDF5")
    private String udf5;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    @TableField(value = "COMMENTS")
    private String comments;

}

